package com.sale.system.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sale.common.mybatis.core.mapper.BaseMapperPlus;
import com.sale.system.api.domain.dto.UnitDto;
import com.sale.system.domain.SysAuxiliaryUnit;
import com.sale.system.domain.dto.SysAuxiliaryUnitDateDetailDto;
import com.sale.system.domain.dto.SysTheDropDto;
import com.sale.system.domain.vo.SysAuxiliaryUnitVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author: YSL
 * @Date: 2023/7/14 9:46
 * @Desc: 多计量单位 数据层
 */
public interface SysAuxiliaryUnitMapper extends BaseMapperPlus<SysAuxiliaryUnitMapper, SysAuxiliaryUnit, SysAuxiliaryUnit> {

    /**
     * 查询单个多计量单位
     *
     * @param unitId
     * @return
     */
    SysAuxiliaryUnitDateDetailDto getAllByUnitId(Long unitId);

    /**
     * 查询多计量单位列表
     *
     * @param sysAuxiliaryUnitVo
     * @return
     */
    Page<SysAuxiliaryUnitDateDetailDto> selectAuxiliaryUnit(@Param("page") Page<SysAuxiliaryUnitDateDetailDto> page, @Param("sysAuxiliaryUnitVo") SysAuxiliaryUnitVo sysAuxiliaryUnitVo);

    /**
     * 多计量单位下拉
     * @return
     */
    List<SysTheDropDto> selectMultiMeteringUnitList();

    /**
     * 根据id查询多计量单位
     * @param unitId
     * @return
     */
    SysAuxiliaryUnitDateDetailDto getMaterialUnitById(Long unitId);

    /**
     * 单单位 多单位集合
     * @param
     * @return Map<String, String>
     */
    List<SysTheDropDto> selectMultiMeteringUnitAllList();

    /**
     * 查询单价列表
     * @return
     */
    List<UnitDto> selectMaterialUnitList();
}
